#include "functions.h"

void initialize_elite(){
  elite.function_value = DBL_MAX;
  elite.design_variables = ( double * ) malloc( sizeof( double ) * number_of_dimensions );
}

void elite_replace(){
  int i;

  // エリートの方が最良生成個体よりも良ければ、置換する
  if( elite.function_value < individuals[0].function_value )
    {
      individuals[ 0 ].function_value = elite.function_value;
      for( i=0;i<number_of_dimensions;i++ )
	individuals[ 0 ].design_variables[ i ] = elite.design_variables[ i ];
    }

  // 最良生成個体の方がよい場合は、その個体をエリートにする
  else
    {
      elite.function_value = individuals[0].function_value;
      for( i=0;i<number_of_dimensions;i++ )
	elite.design_variables[ i ] = individuals[ 0 ].design_variables[ i ];
    }
  
}
